import { InjectionKey } from 'vue'
import { CollapseProps } from './collapse'


/**
 * CollapseContext
 */
export type CollapseContext = CollapseProps & {

  addField: (field: CollapseItemContext) => void
  removeField: (field: CollapseItemContext) => void
  changeItemStatus: (id: string) => void
}

/**
 * CollapseItemContext
 */
export type CollapseItemContext = {
  id: string,
  changeStatus: (status: boolean) => void
}

export const collapseContextKey: InjectionKey<CollapseContext> = 
  Symbol('collapseContextKey')
export const collapseItemContextKey: InjectionKey<CollapseItemContext> = 
  Symbol('collapseItemContextKey')
